<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="http://www.w3.org/2005/Atom" xmlns:atom="http://www.w3.org/2005/Atom"
           xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="feed" type="atom:atomFeed" />
  <xs:element name="entry" type="atom:atomEntry"/>
  <xs:complexType name="atomFeed">
    <xs:choice maxOccurs="unbounded">
      <xs:element name="author" type="atom:atomPersonConstruct" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="category" type="atom:atomCategory" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="contributor" type="atom:atomPersonConstruct" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="generator" type="atom:atomGenerator" minOccurs="0" maxOccurs="1" />
      <xs:element name="icon" type="xs:anyURI" minOccurs="0" maxOccurs="1" />
      <xs:element name="id" type="xs:anyURI" minOccurs="1" maxOccurs="1" />
      <xs:element name="link" type="atom:atomLink" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="logo" type="xs:anyURI" minOccurs="0" maxOccurs="1" />
      <xs:element name="rights" type="atom:atomContent" minOccurs="0" maxOccurs="1" />
      <xs:element name="subtitle" type="atom:atomContent" minOccurs="0" maxOccurs="1" />
      <xs:element name="title" type="atom:atomContent" minOccurs="1" maxOccurs="1" />
      <xs:element name="updated" type="xs:dateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="entry" type="atom:atomEntry" minOccurs="0" maxOccurs="unbounded" />
      <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
    </xs:choice>
    <xs:anyAttribute namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="atomEntry">
		<xs:choice minOccurs="3" maxOccurs="unbounded">
			<xs:element name="author" type="atom:atomPersonConstruct" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="category" type="atom:atomCategory" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="content" type="atom:atomContent" minOccurs="0" maxOccurs="1" />
			<xs:element name="contributor" type="atom:atomPersonConstruct" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="id" type="xs:anyURI" minOccurs="1" maxOccurs="1" />
			<xs:element name="link" type="atom:atomLink" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="published" type="xs:dateTime" minOccurs="0" maxOccurs="1" />
			<xs:element name="rights" type="atom:atomContent" minOccurs="0" maxOccurs="1" />
			<xs:element name="source" type="atom:atomContent" minOccurs="0" maxOccurs="1" />
			<xs:element name="summary" type="atom:atomContent" minOccurs="0" maxOccurs="1" />
			<xs:element name="title" type="atom:atomContent" minOccurs="1" maxOccurs="1" />
			<xs:element name="updated" type="xs:dateTime" minOccurs="1" maxOccurs="1" />
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:choice>
    <xs:anyAttribute namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="atomContent" mixed="true">
    <xs:sequence maxOccurs="1" minOccurs ="0">
      <xs:any namespace="http://www.w3.org/1999/xhtml" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="type" use="optional">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="text"/>
          <xs:enumeration value="html"/>
          <xs:enumeration value="xhtml"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="src" type="xs:anyURI" use="optional"/>
    <xs:anyAttribute namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="atomPersonConstruct">
    <xs:choice maxOccurs="unbounded">
      <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1" />
      <xs:element name="uri" type="xs:anyURI" minOccurs="0" maxOccurs="1" />
      <xs:element name="email" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:any namespace="##other"/>
    </xs:choice>
    <xs:anyAttribute namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="atomCategory">
		<xs:attribute name="term" type="xs:string" use="required"/>
		<xs:attribute name="scheme" type="xs:anyURI" use="optional"/>
		<xs:attribute name="label" type="xs:string" use="optional"/>
    <xs:anyAttribute namespace="##other"/>
  </xs:complexType>
	<xs:complexType name="atomGenerator">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="uri" use="optional" type="xs:anyURI" />
				<xs:attribute name="version" use="optional" type="xs:string" />
        <xs:anyAttribute namespace="##other"/>
      </xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="atomLink" mixed="true">
		<xs:attribute name="href" use="required" type="xs:anyURI" />
		<xs:attribute name="rel" type="xs:string" use="optional"/>
		<xs:attribute name="type" use="optional" type="xs:string" />
		<xs:attribute name="hreflang" use="optional" type="xs:NMTOKEN" />
		<xs:attribute name="title" use="optional" type="xs:string" />
		<xs:attribute name="length" use="optional" type="xs:positiveInteger" />
    <xs:anyAttribute namespace="##other"/>
  </xs:complexType>
  <xs:complexType name="packToolType">
    <xs:complexContent>
      <xs:extension base="atom:atomEntry">
        <xs:choice maxOccurs="unbounded">
          <xs:element name="ProductGUID" type="xs:string" maxOccurs="1" />
          <xs:element name="VersionString" maxOccurs="1" />
          <xs:element name="SetupFilename" type="xs:string" maxOccurs="1" />
          <xs:element name="SetupFileHash" type="xs:string" maxOccurs="1" minOccurs="0" />
          <xs:element name="LicenseAgreementFilename" type="xs:string" maxOccurs="1" />
          <xs:element name="LicenseAgreementURL" type="xs:string" maxOccurs="1" />
          <xs:element name="HideThisTool" type="xs:boolean" maxOccurs="1" />
        </xs:choice>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>